Peritext: A CRDT for Collaborative Rich Text Editing
نویسندگان
چکیده
Conflict-Free Replicated Data Types (CRDTs) support decentralized collaborative editing of shared data, enabling peer-to-peer sharing and flexible branching merging workflows. While there is extensive work on CRDTs for plain text, much less known about rich text with formatting. No algorithms have been published, existing open-source implementations do not always preserve user intent. In this paper, we describe a model intent preservation in editing, developed through series concurrent scenarios. We then Peritext, CRDT algorithm that satisfies the criteria our model. The key idea to store formatting spans alongside plaintext character sequence, linked stable identifier first last each span, derive final formatted from these deterministic way ensures operations commute. prototyped TypeScript, validated it using randomized property-based testing, integrated an editor UI. also prove convergence, demonstrate its causality intention properties.
منابع مشابه
A CRDT Supporting Selective Undo for Collaborative Text Editing
Undo is an important feature of editors. However, even after over two decades of active research and development, support of undo for real-time collaborative editing is still very limited. We examine issues concerning undo in collaborative text editing and present an approach using a layered commutative replicated data type (CRDT). Our performance study shows that it provides sufficient respons...
متن کاملSynchronous Collaborative Text Editing in Wikis
Wikis are well-known for supporting collaborative writing. They are focusing on asynchronous collaboration. Today, synchronous text editing in the web is supported by several tools and approaches. However, this possibility is still missing in wikis. Based on a prototype implementation, this paper presents design considerations for a wiki integrating synchronous collaborative editing as a specia...
متن کاملReal-time text chat via collaborative editing systems
Online text chat is a very popular Internet-based application. Previous studies have identified several problems with standard text chat systems. Real-time collaborative editing systems can be used for text chat. This paper compares text chat via collaborative editing systems with text chat via standard text chat systems. It has been identified that standard text chat system do not maintain som...
متن کاملCollaborative Editing
Networked computer systems offer much to support collaborative editing of shared documents among users. Software Engineering is one of many fields that benefits from computer-assisted collaboration as a myriad of developers, project managers, testers, and designers work together to develop large, complex systems that consist of a multitude of process and product artifacts. Multi-discipline and ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on human-computer interaction
سال: 2022
ISSN: ['2573-0142']
DOI: https://doi.org/10.1145/3555644